let count = 0;

function Num() {}

Num.prototype.add = () => count++;
Num.prototype.getCount = () => count;

module.exports = Num;

// 在 07-share.js 中定义的 count 是一个模块级变量，它是在模块作用域内定义的，因此不是每个 Num 实例的独立副本。
// Num 构造函数没有定义实例属性，所有实例共享 count 变量。
// add 方法通过闭包访问模块级变量 count 并对其进行增加。
// getCount 方法也通过闭包访问 count 并返回其当前值。
// 当 n1 或 n2 调用 add 方法时，它们实际上是在增加同一个 count 变量，这就是为什么调用 n1 的 add 方法会影响 n2 的 getCount 方法返回的值